#ifndef __OLED_H
#define __OLED_H 

#include "main.h"
#include "stdlib.h"	
#include "stdint.h"
#include "string.h"

//引脚分配
#define SDA_GPIO_PORT CW_GPIOB
#define SDA_GPIO_PINS GPIO_PIN_8
#define SCL_GPIO_PORT CW_GPIOB
#define SCL_GPIO_PINS GPIO_PIN_9

//-----------------OLED�˿ڶ���---------------- 
#define OLED_SCL_Clr() GPIO_WritePin (SCL_GPIO_PORT, SCL_GPIO_PINS, GPIO_Pin_RESET)//SCL
#define OLED_SCL_Set() GPIO_WritePin (SCL_GPIO_PORT, SCL_GPIO_PINS, GPIO_Pin_SET)//SCL

#define OLED_SDA_Clr() GPIO_WritePin (SDA_GPIO_PORT, SDA_GPIO_PINS, GPIO_Pin_RESET)//DIN
#define OLED_SDA_Set() GPIO_WritePin (SDA_GPIO_PORT, SDA_GPIO_PINS, GPIO_Pin_SET)


#define OLED_CMD  0	//д����
#define OLED_DATA 1	//д����

void OLED_ClearPoint(uint8_t x,uint8_t y);
void OLED_ColorTurn(uint8_t i);
void OLED_DisplayTurn(uint8_t i);
// void I2C_Start(void);
// void I2C_Stop(void);
// void I2C_WaitAck(void);
// void Send_Byte(uint8_t dat);
// void OLED_WR_Byte(uint8_t dat,uint8_t mode);
void OLED_DisPlay_On(void);
void OLED_DisPlay_Off(void);
void OLED_Refresh(void);
void OLED_Clear(void);
void OLED_ClearNoRefresh(void);
void OLED_DrawPoint(uint8_t x,uint8_t y,uint8_t t);
void OLED_DrawLine(uint8_t x1,uint8_t y1,uint8_t x2,uint8_t y2,uint8_t mode);
void OLED_DrawCircle(uint8_t x,uint8_t y,uint8_t r);
void OLED_ShowChar(uint8_t x,uint8_t y,uint8_t chr,uint8_t size1,uint8_t mode);
void OLED_ShowChar6x8(uint8_t x,uint8_t y,uint8_t chr,uint8_t mode);
void OLED_ShowString(uint8_t x,uint8_t y,uint8_t *chr,uint8_t size1,uint8_t mode);
void OLED_ShowNum(uint8_t x,uint8_t y,uint32_t num,uint8_t len,uint8_t size1,uint8_t mode);
void OLED_ShowChinese(uint8_t x,uint8_t y,uint8_t num,uint8_t size1,uint8_t mode);
void OLED_ScrollDisplay(uint8_t num,uint8_t space,uint8_t mode);
void OLED_ShowPicture(uint8_t x,uint8_t y,uint8_t sizex,uint8_t sizey,uint8_t BMP[],uint8_t mode);
void OLED_Init(void);

#endif

